home *** CD-ROM | disk | FTP | other *** search
/ 3D Images / 3D Images.iso / programs / amiga / rayshade / libshade / options.h < prev    next >
C/C++ Source or Header  |  1995-01-12  |  4KB  |  117 lines

  1. /*
  2.  * options.h
  3.  *
  4.  * Copyright (C) 1989, 1991, Craig E. Kolb
  5.  * All rights reserved.
  6.  *
  7.  * This software may be freely copied, modified, and redistributed
  8.  * provided that this copyright notice is preserved on all copies.
  9.  *
  10.  * You may not distribute this software, in whole or in part, as part of
  11.  * any commercial product without the express consent of the authors.
  12.  *
  13.  * There is no warranty or other guarantee of fitness of this software
  14.  * for any purpose.  It is provided solely "as is".
  15.  *
  16.  * options.h,v 4.1 1994/08/09 08:04:40 explorer Exp
  17.  *
  18.  * options.h,v
  19.  * Revision 4.1  1994/08/09  08:04:40  explorer
  20.  * Bump version to 4.1
  21.  *
  22.  * Revision 1.1.1.1  1994/08/08  04:52:17  explorer
  23.  * Initial import.  This is a prerelease of 4.0.6enh3, or 4.1 possibly.
  24.  *
  25.  * Revision 4.0.1.2  92/01/14  18:29:14  cek
  26.  * patch3: Added "cpp" option.
  27.  * 
  28.  * Revision 4.0.1.1  91/09/29  15:51:17  cek
  29.  * patch1: Added window and crop options.
  30.  * 
  31.  * Revision 4.0  91/07/17  14:46:54  kolb
  32.  * Initial version.
  33.  * 
  34.  */
  35. #ifndef OPTIONS_H
  36. #define OPTIONS_H
  37.  
  38. /*
  39.  * Constants for Stereo mode
  40.  */
  41. #define LEFT        1
  42. #define RIGHT        2
  43.  
  44. /*
  45.  * Options
  46.  */
  47. typedef struct RSOptions {
  48.     int    stereo,            /* Stereo mode? */
  49.         verbose,        /* Babbling mode? */
  50.         quiet,            /* Don't complain? */
  51.         jitter,            /* use jittered sampling? */
  52.         samples,        /* Sqrt of # of samples */
  53.         maxdepth,        /* Maximum ray tree depth */
  54.         report_freq,        /* Frequency, in lines, of report */
  55.         no_shadows,        /* Trace shadow rays? */
  56.         shadowtransp,        /* ... through transparent objects? */
  57.         cache,            /* Cache shadowing info? */
  58.         appending,        /* Append to image file? */
  59.         resolution_set,        /* resolution set on command line */
  60.         contrast_set,        /* contrast overridden ... */
  61.         samples_set,        /* samples overridden ... */
  62.         cutoff_set,        /* cutoff ... */
  63.         maxdepth_set,        /* adaptive depth ... */
  64.         window_set,        /* subwindow ... */
  65.         crop_set,        /* crop window ... */
  66.         freq_set,        /* report frequency ... */
  67.         jitter_set,        /* use jittering */
  68.         eyesep_set,        /* eye separation ... */
  69.         csg,            /* CSG object someplace in world */
  70.         flipnorm,        /* flip normals of polygonal objs */
  71.         samplemap,        /* output sample map? */
  72.         gaussian,        /* Use gaussian pixel filter? */
  73.         framenum,        /* current frame number */
  74.         startframe,        /* Starting frame number. */
  75.         endframe,        /* ending frame number */
  76.         totalframes,        /* total # of frames */
  77.         totalframes_set,    /* set on command line? */
  78.         cpp,            /* run CPP? */
  79.             zbufprint;              /* print Zbuf stats? */
  80. #ifdef URT
  81.     int    alpha;            /* Write alpha channel? */
  82.     int    exp_output;        /* Write exponential RLE file? */
  83. #endif
  84.     Float    eyesep,            /* Eye separation (for Stereo mode) */
  85.         gamma,            /* Gamma value (0 == no correction) */
  86.         starttime,        /* Think about it ... */
  87.         shutterspeed,        /* time shutter is open */
  88.         framestart,        /* start time of the current frame */
  89.         framelength,        /* length of the current frame */
  90.         filterwidth;        /* Pixel filter width. */
  91.     Color    contrast,        /* Max. allowable contrast */
  92.         cutoff,            /* Ray tree depth control */
  93.         ambient;        /* Ambient light multiplier */
  94.     char    *progname,        /* argv[0] */
  95.         *statsname,        /* Name of stats file. */
  96.         *imgname,        /* Name of output image file */
  97.         *inputname,        /* Name of input file, NULL == stdin */
  98.                 *cppargs,               /* arguments to pass to cpp */
  99.                 *zbufname;              /* Name of Z buffer file (if any) */
  100.     int    window[2][2];        /* Subwindow corners */
  101.     Float    crop[2][2];        /* Crop window, lo/hi normalized */
  102. #ifdef LINDA
  103.     int    workers,        /* # of worker processes */
  104.         workernum,        /* worker #, 0 == supervisor */
  105.         verbose_worker;        /* Babble while you work? */
  106. #endif
  107.     FILE    *pictfile;        /* output file pointer */
  108. #ifdef AMIGA
  109.     int    SAScpp;
  110. #endif
  111. } RSOptions;
  112.  
  113. extern RSOptions Options;
  114. extern void OptionsList(), OptionsSet();
  115.  
  116. #endif /* OPTIONS_H */
  117.